package com.ruoyi.recyclecomprehensive.service;

import com.ruoyi.recycle.domain.ExchangeRecord;
import com.ruoyi.recycle.domain.IntegralConfig;
import com.ruoyi.recycle.domain.ShopManagement;
import com.ruoyi.recycle.dto.AttractDataQueryDTO;
import com.ruoyi.recycle.dto.AttractRecordQueryDTO;
import com.ruoyi.recycle.dto.MerchantBillRecordQueryDTO;
import com.ruoyi.recycle.dto.PaymentDTO;
import com.ruoyi.recycle.vo.*;
import com.ruoyi.recyclecomprehensive.dto.WithDrawDTO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

public interface PersonalService {
    Map<String, String> charge(PaymentDTO paymentDTO, Long userId);

    Map<String, String> payCallBack(HttpServletRequest request);

    void withDraw(WithDrawDTO withDrawDTO, Long userId);

    IntegralConfig getIntegralConfigs();

    Boolean addShop(ShopManagement shopManagement);

    RecycleCategoryVO recycleCategoryStatistics(Long merchantId);


    Boolean certificateIdentify(MultipartFile file, String idCardNo, String name);

    List<ExchangeRecord> queryExchangeRecord(MerchantBillRecordQueryDTO queryDTO);

    BillRecordDetailVO getBillRecordDetail(String billNo);


    AttractRecordStatisticsVO attractRecordStatistics(Long merchantId);

    List<AttractRecordVO> attractRecordList(AttractRecordQueryDTO queryDTO);

    AttractRecordStatisticsSingle attractRecordStatisticsSingle(Long shopId, Long clientId);

    List<AttractDataVO> singleDataStatistics(AttractDataQueryDTO dataQueryDTO);
}
